The popularity of the OpenFlow protocol, see “The OpenFlow Switch Consortium”, http://www.openflowswitch.org/, and of the switches that implement it is growing considerably. OpenFlow provides a mechanism for classifying flows and sending them out a switch's various ports. In greater detail, the switch contains a table made up of OpenFlow entries (OF entries), each of these consisting of a filter used to match flows and an action used to decide what to do with a flow that matches the filter and associated flow counters (bytes, packets, etc.).
Regarding current state of the art, the document “Automated and Scalable QoS Control for Network Convergence”, in proceedings of the 2010 internet network management conference on Research on enterprise networking, San Jose, Calif., USA, is providing QoS (Quality of Service) in OpenFlow switches by assuming the existence of per-flow rate-limiters and dynamic priority assignment in hardware.
The work in “DevoFlow: Cost-Effective Flow Management for High Performance Enterprise Networks”, in proceedings of the ninth ACM Workshop on Hot Topics in Networks (HotNets-IX), looks at using a centralized controller in order to provide QoS across a set of OpenFlow switches. The work does not focus nor mention how individual switches would implement QoS policies.
In “Adaptive QoS Mechanism for OpenFlow-based NetFPGA Network”, Yu-Yuan Tseng, Master's Thesis, the author presents a system built on a NetFPGA board and OpenFlow that implements weighted fair queuing (WFQ). However, the system does not use OpenFlow mechanisms, e.g., install/delete entries, nor does it provide a flap damping mechanism.
The current OpenFlow specification—“OpenFlow Switch Specification, Version 1.0.0 (Wire Protocol 0x01)”, http://www.openflowswitch.org/documents/openflow-spec-v1.0.0.pdf—mentions a very crude QoS mechanism whereby packets belonging to flows are sent to queues attached to ports, and operators are then able to set a minimum bandwidth on each queue. Future versions of OpenFlow might support more refined QoS mechanisms such as a minimum or maximum rate, or a strict level of precedence, see “Flow Service Classification”, OpenFlow Wiki, http://www.openflowswitch.org/wk/index.php/Flow-Service_Classification.
Even so, these are not as flexible as a general flow scheduling mechanism nor will future OpenFlow specifications indicate how to implement such mechanisms. In “Hedera: Dynamic Flow Scheduling for Data Center Networks”, in proceedings of NSDI 2010, the authors present a flow scheduling algorithm. However, this work has very different goals from those of this invention: the paper uses heuristics to maximize the bandwidth used in a data center network, whereas the present invention focuses on a single OpenFlow switch.
Finally, the work in “BGP Route Flap Damping”, IETF RFC 2439, http://www.ietf.org/rfc/rfc2439.txt, describes route flap damping mechanisms in the context of BGP (Border Gateway Protocol) routes.
It is an object of the present invention to improve and further develop a method for operating an OpenFlow switch within a network, an OpenFlow switch and an according network for allowing a very flexible scheduling of data flows within an OpenFlow switch.